
// var APP_ID = '361751f0-591c-41c1-b81a-fc9eb0d18d93';
var APP_ID = 'af8efe56-d327-46a5-80e8-5382f41dee24';
var MAX_SPEED = '10';

//实例化用户信息模型对象
var user = new LedUser();
var device_role_map = user.device_role_map;
var current_device = user.currentDevice;
var current_config = {};
var current_popup_user = "";

var sub = new Submit();
var screen_type_all = sub.screen_type_all;
var screen_type_2 = {};
var screen_type_3 = {};
var screen_type_selected = "";
var extr_scr_config = {};

jQuery(document).ready(function($) {

  //从url中获取用户信息
  var access_token = user.getParameterByName('access_token');
  var device_id = user.getParameterByName('device_id'); 
  var user_name = user.getParameterByName('user_name'); 

  //打开页面时显示进度条
  $("div.img_container").show().next().hide();
  
  // var current_device.device_id = device_id;
  //获取设备配置信息
  var get_url = "http://suishou.fr/wechat/device-config?token=" + access_token + "&deviceId="+ device_id +"&fromUserName="+ user_name;
  sub.getDeviceConfig(get_url, current_device.device_id);
  
  //打开页面时获取快捷配置
  var fast_select = $("#page-one #fast_config").val();
  var fast_map = {"P10": "401", "P5": "402"};
  screen_type_selected = fast_map[fast_select];
  sub.fetchTypeConfig(screen_type_selected);
  $("#page-one .fast_button_save").attr("disabled", true);
  console.log("fast_select: "+fast_select);

  //屏体尺寸控制最小值
  $("#page-one #width").change(function() {
    var userInput = $(this).val();
    if (userInput < 32) {
      $(this).val("32");
    } else if (userInput > 9992){
      $(this).val("9992");
    } else {
      if (userInput%8) {
        if (userInput%8 > 4) {
          $(this).val(userInput - userInput%8 + 8);
        } else {
          $(this).val(userInput - userInput%8);
        }
      }
    }
  });
  $("#page-one #height").change(function() {
    var userInput = $(this).val();
    if (userInput < 16) {
      $(this).val("16");
    } else if (userInput > 1024){
      $(this).val("1024");
    } else {
      if (userInput%8) {
        if (userInput%8 > 4) {
          $(this).val(userInput - userInput%8 + 8);
        } else {
          $(this).val(userInput - userInput%8);
        }
      }
    }
  });

  //选择快捷配置时切换菜单
  $("#page-one #fast_config").change(function() {
    if ($("#page-one #fast_config").val() == "other") {
      $(this).parent().parent().parent().parent().next().show().next().hide();

      $("#page-one #page_one_button").hide().next().show();
    } else {
      $(this).parent().parent().parent().parent().next().hide().next().show();

      $("#page-one #page_one_button").show().next().hide();

      var fast_select = $(this).val();
      var fast_map = {"P10": "401", "P5": "402"};
      screen_type_selected = fast_map[fast_select];
      sub.fetchTypeConfig(screen_type_selected);
      $("#page-one .fast_button_save").attr("disabled", true);
    }
  });

  //快捷配置后直接保存
  $("#page-one .fast_button_save").click(function() {
    //如果非管理员则不能保存
    if (device_role_map[current_device.device_id] == "share") {
      alert("(￣▽￣)\"只有管理员大人才能修改参数哦亲~！");
      return;
    }
    //禁用保存按钮.split('/')[1]
    $(this).attr("disabled", true);

    var user_info = window.userInfo;

    var config = sub.fastSaveConfig();
		// console.log("access_token:"+access_token+"devId"+device_id+"user_name:"+user_name+JSON.stringify(config));
    sub.postDeviceConfig(access_token,device_id, user_name, config);
  });

  //切换页面时不加入历史记录
  //page-card下一步
  $("#page-one div.button_bottom .button_next").click(function() {
    $.mobile.changePage("#page-two",{transition: "slide", changeHash: true });
  });
  //三页导航切换
  $("div[data-role='navbar'] ul li:first-child a").click(function() {
    $.mobile.changePage("#page-two",{transition: "none", changeHash: false });
  });
  $("div[data-role='navbar'] ul li:nth-child(2) a").click(function() {
    $.mobile.changePage("#page-three",{transition: "none", changeHash: false });
  });
  $("div[data-role='navbar'] ul li:last-child a").click(function() {
    $.mobile.changePage("#page-four",{transition: "none", changeHash: false });
  });
  //pagefive切换
  // $("#page0 a#rename").click(function() {
  //   $.mobile.changePage("#pagefive",{transition: "none", changeHash: true });
  // });

  //输入文字时输入框置顶
  $("#page-one input[type='number']").focus(function() {
    $(this).scrollTop(0);
  });

  //第二页动态生成选择框
  //為select_1綁定change事件
  $("#select_1").change(function() {
    $("#screen_type_name").empty();

    screen_type_2 = sub.appendSelect(2, screen_type_all);
    screen_type_3 = sub.appendSelect(3, screen_type_2);
    sub.setTextarea(screen_type_3);

    //為生成的select_2綁定change事件
    $("#select_2").change(function() {
      $("#screen_type_name").empty();

      screen_type_3 = sub.appendSelect(3, screen_type_2);
      sub.setTextarea(screen_type_3);

      //為生成的select_3綁定change事件
      $("#select_3").change(function() {

        sub.setTextarea(screen_type_3);

      });
    });
  });


  //点击保存按钮，验证输入，保存表单数据
  $("button.button_save").click(function() {
    //如果非管理员则不能保存
    if (device_role_map[current_device.device_id] == "share") {
      alert("(￣▽￣)\"只有管理员大人才能修改参数哦亲~！");
      return;
    }
    //禁用保存按钮
    $(this).attr("disabled", true);
    
    var oldConfig = current_config;
    //实例化设备信息模型对象
    var sub = new Submit();

    var scr_params = sub.screenParams;//屏参数
    var card_params = sub.cardParams;//卡参数
    var user_params = sub.userParams;//用户参数

    if (oldConfig) {
      var display_params = oldConfig.display_config; //显示参数
      var command_params = oldConfig.command_config;//控制参数 
    } else {
      var display_params = sub.displayParams;//显示参数
      var command_params = sub.commandParams;//控制参数 
    }
    
    //保存参数
    scr_params = sub.saveScreenParams(scr_params);
    card_params = sub.saveCardParams(card_params);
    user_params.screen_name = current_device.alias;
    //获取额外屏参并合并到屏参
    $.extend(scr_params, extr_scr_config);

    //卡参合并到显参
    $.extend(display_params, card_params);//显示参数
    var config = {
      "screen_config": scr_params,
      "display_config": display_params,
      "command_config": command_params,
      "user_config": user_params,
    };


    //验证输入
    var check_src = sub.checkForm(scr_params);
    if (check_src) {
      //上传参数
      var user_info = window.userInfo;
      //var user_info = $.parseJSON(localStorage.getItem("userInfo"));
      // var post_config = {
      //   "token": access_token,
      //   "deviceId": current_device.device_id.split('/')[1],
      //   "fromUserName": user_info.username,
      //   "config": JSON.stringify(config),
      // }.split('/')[1]
      sub.postDeviceConfig(access_token, current_device.device_id, user_info.username, config);
      //localStorage.setItem(current_device.device_id, JSON.stringify(config));
    } else {
      //启用保存按钮
      user.enableSaveButton();
    }
    return false;
  });

  //显示页面显示滑块数值
  // $("#page-display div a.ui-slider-handle").change(function() {
  //   $(this).parent().prepend("<span>"+ $(this).attr("title") +"</span>");
  // });

  //控制滑块输入框限值
  $("#page-display #speed").change(function() {
    if ($(this).val() < 1) {
      $(this).val("1").slider().slider("refresh");
    } else if ($(this).val() > MAX_SPEED) {
      $(this).val(MAX_SPEED).slider().slider("refresh");
    }
  });
  $("#page-display #delay").change(function() {
    if ($(this).val() < 0) {
      $(this).val("0").slider().slider("refresh");
    } else if ($(this).val() > 20) {
      $(this).val("20").slider().slider("refresh");
    }
  });
  $("#page-display #bright_level").change(function() {
    if ($(this).val() < 0) {
      $(this).val("0").slider().slider("refresh");
    } else if ($(this).val() > 15) {
      $(this).val("15").slider().slider("refresh");
    }
  });


  //选择钟表时显示钟表样式
  $("#page-display #time").change(function() {
    if ($("#page-display #time").val() != "null") {
      $(this).parent().parent().parent().next().show();
    } else {
      $(this).parent().parent().parent().next().hide();
    }
  });


  //显示设置页面提交按钮
  // $("#page-display button.display_save").click(function() {
  //   //如果非管理员则不能保存
  //   if (device_role_map[current_device.device_id] == "share") {
  //     alert("(￣▽￣)\"只有管理员大人才能修改参数哦亲~！");
  //     return;
  //   }
  //   //禁用保存按钮
  //   $(this).attr("disabled", true);
  //   //获取当前配置
  //   var config = current_config;
  //   var sub = new Submit();
  //   var display_params = sub.displayParams;//显示参数
  //   var command_params = sub.commandParams;
  //   display_params = sub.saveDisplayParams(display_params);
  //   command_params = sub.saveCommandParams(command_params);
  //   //修改显示配置
  //   var display_config = config.display_config;
  //   $.extend(display_config, display_params);
  //   config.display_config = display_config;
  //   config.command_config = command_params;

  //   //上传参数
  //   var user_info = window.userInfo;
  //   //var user_info = $.parseJSON(localStorage.getItem("userInfo"));
  //   sub.postDeviceConfig(access_token, current_device.device_id.split('/')[1], user_info.username, config);
  //   //localStorage.setItem(current_device.device_id, JSON.stringify(config));

  //   return false;
  // });


  //点击返回按钮，关闭当前页面
  $("button.close-page").click(function() {
    //退回列表页
    window.history.back();
    //卸载页面
    //window.open(' ', '_self', ' ');
    //window.close();
  });

  //点击选项按钮弹出菜单
  // $('#page0 #led-list').on("click","a#options",function() {
  //   var index = $(this).parent().index();
  //   var device_info = user.deviceList[index];
  //   //var device_info = $.parseJSON(localStorage.getItem("deviceList"))[index];
  //   current_device = device_info;
  //   current_device.current_index = index;
  //   //预设重命名输入框
  //   user.getAlias(device_info.alias);
  // });

  //点击权限管理进入权限页面
  // $("#page0 #authorize_manage").click(function() {
  //   var device_id = current_device.device_id;

  //   //打开页面时显示进度条
  //   $("div.img_container").show().next().hide();

  //   //清空用户列表
  //   $('#page-authorize ul#user-list').empty();
  //   sub.fetchUsers(access_token, device_id);
  // });

  //点击用户列表移交权限
  // $("#page-authorize").on("click","a#authorize",function(){
  //   //取得用户id
  //   var current_user = $(this).parent().parent().parent().attr("id").split("/");
  //   var device_id = current_device.device_id;

  //   var auth_confirm = confirm("确定移交权限给 "+ current_user[1] +" 吗？");

  //   if (auth_confirm) {

  //     $.ajax({
  //       type : 'post',
  //       url : 'http://api.easylink.io/v1/key/user/authorize',
  //       headers : {
  //         'Authorization' : 'token '+ access_token,
  //         'X-Application-Id' : APP_ID,
  //       },
  //       data : {
  //         'login_id' : current_user[0],
  //         'owner_type' : "owner",
  //         'id' : device_id,
  //         'action_type' : 2,
  //       },
  //       cache : false,
  //       dataType : 'json',
  //       success : function(data) {
  //         console.log("success" + data.result);

  //         //localStorage.setItem("OWNER_TOKEN", data.result);
  //         //$("#page0 li h2").eq(current_device.current_index).html(my_alias);
  //         alert("(*^__^*)。。管理员设置成功！");
  //         window.history.go(-3);

  //       },
  //       error : function(data) {
  //         console.log("失败了" + data.result);
  //         alert("(￣▽￣)\"。。设置失败~管理员才能戳哦~！");
  //       }
  //     });
  //   }
  // });

  //点击菜单删除选项删除设备
  // $("#page0 #delete_device").click(function() {
  //   var device_id = current_device.device_id;

  //   $.ajax({
  //     type : 'post',
  //     url : 'http://api.easylink.io/v1/wechat/device/unbind',
  //     headers : {
  //       'Authorization' : 'token '+ access_token,
  //       'X-Application-Id' : APP_ID,
  //     },
  //     data : {
  //       'app_id' : APP_ID,
  //       'device_id' : device_id
  //     },
  //     cache : false,
  //     dataType : 'json',
  //     success : function(data) {
  //       console.log("success" + data);
  //       alert("(*^__^*)。。删除成功！");
  //       //删除列表项
  //       $("#led-list > li")[current_device.current_index].remove();

  //     },
  //     error : function(data) {
  //       console.log("失败了" + data.responseText);
  //       alert("(￣▽￣)\"。。删除失败~再试一次吧骚年~！");
  //     }
  //   });

  // });

  //保存自定义设备名称
  // $("#pagefive button").click(function() {
  //   //读取文本框内容
  //   var my_alias = $("#pagefive input").val();
  //   var device_id = current_device.device_id;
  //   //发送给服务器保存
  //   if (my_alias) {
  //       $.ajax({
  //       type : 'post',
  //       url : 'http://api.easylink.io/v1/device/modify',
  //       headers : {
  //         'Authorization' : 'token ' + access_token,
  //         'X-Application-Id' : APP_ID,
  //       },
  //       data : {
  //         'device_id' : device_id,
  //         'alias' : my_alias
  //       },
  //       cache : false,
  //       dataType : 'json',
  //       success : function(data) {
  //         console.log("success" + data);
  //         current_device.alias = my_alias;
  //         $("#page0 li h2").eq(current_device.current_index).html(my_alias);
  //         alert("(*^__^*)。。修改成功！");
  //         //返回列表页
  //         window.history.back();
  //         //window.open('#page0', '_self');
  //         //window.close();
  //       },
  //       error : function(data) {
  //         alert("(￣▽￣)\"~修改失败。。是姿势不对么？" + data.responseText);
  //       }
  //     });
  //   } else {
  //       $.ajax({
  //       type : 'post',
  //       url : 'http://api.easylink.io/v1/device/modify',
  //       headers : {
  //         'Authorization' : 'token '+ access_token,
  //         'X-Application-Id' : APP_ID,
  //       },
  //       data : {
  //         'device_id' : device_id,
  //         'alias' : device_id
  //       },
  //       cache : false,
  //       dataType : 'json',
  //       success : function(data) {
  //         console.log("success" + data);
  //         current_device.alias = device_id;
  //         $("#page0 li h2").eq(current_device.current_index).html(device_id);
  //         alert("(*^__^*)。。改成设备ID了哦！");
  //         //卸载页面
  //         window.open('#page0', '_self');
  //         //window.close();
  //       },
  //       error : function(data) {
  //         alert("(￣▽￣)\"~修改失败。。。换个姿势试试？" + data.responseText);
  //       }
  //     });
  //   }
  // });

});
